/*
 * @(#)Author.java
 * Date 2013-04-08
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.model.document;

import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import us.hornerscorners.lamppost.model.common.AbstractClassifiableModel;


/**
 *
 * @author jim
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class Author extends AbstractClassifiableModel {

    /** Field description */
    private final List<Attribute> extraAttributes;

    /** Field description */
    private final List<String> institutions;

    /** Field description */
    private String person;

    /** Field description */
    private final List<String> roles;

    /** Field description */
    private final List<String> specialities;

    /** Field description */
    private final List<String> telecommunications;

    /**
     * Constructs ...
     *
     */
    public Author() {

        super();
        this.extraAttributes = new ArrayList<>();
        this.institutions = new ArrayList<>();
        this.roles = new ArrayList<>();
        this.specialities = new ArrayList<>();
        this.telecommunications = new ArrayList<>();
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public List<Attribute> getExtraAttributes() {
        return extraAttributes;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public List<String> getInstitutions() {

        return institutions;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getPerson() {

        return person;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public List<String> getRoles() {

        return roles;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public List<String> getSpecialities() {

        return specialities;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public List<String> getTelecommunications() {

        return telecommunications;
    }

    /**
     * Method description
     *
     *
     * @param person
     */
    public void setPerson(String person) {

        this.person = person;
    }
}
